package org.aileen.springbook.config;

import org.aileen.springbook.interceptor.LoginInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration//配置相关的注解
public class WebConfig implements WebMvcConfigurer {
    @Autowired
    private LoginInterceptor loginInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry){
        registry.addInterceptor(loginInterceptor)
                .addPathPatterns("/**")// /**表示拦截所有的请求.
                .excludePathPatterns("/user/login")//可以添加排除的路径,不拦截登录和注册的请求
                //此外,static里面的静态资源也不需要拦截,可以添加排除的路径
                //.excludePathPatterns("/static/**")//排除静态资源的请求 ->
                // 但是我们不能直接排除static里面的资源,因为我们访问页面url直接是static里面的那一层,url路径中不包含static
                //所以我们不能直接写,需要手动排除static里面的资源
                .excludePathPatterns("/css/**")//排除静态资源的请求
                .excludePathPatterns("/js/**")//排除静态资源的请求
                .excludePathPatterns("/pic/**")//排除静态资源的请求
                .excludePathPatterns("/**/*.html")//拦截所有的html请求
                .excludePathPatterns("/test/**");//排除测试接口的请求




    }

}
